# -*- coding: utf-8 -*-
# owner: shenyi

# src/constants/__init__.py

from typing import Dict, Any

# 支持的云厂商
SUPPORTED_PROVIDERS = ["aliyun", "aws", "tencent", "huawei", "google"]

# 各厂商凭据元数据
PROVIDER_CREDENTIAL_META: Dict[str, Dict[str, Any]] = {
    "aliyun": {
        "key": "ALIYUN_ACCESS_KEY_ID",
        "secret": "ALIYUN_ACCESS_KEY_SECRET",
        "region": "ALIYUN_REGION_ID",
        "mask_len": 4,
        "display_name": "AccessKey ID",
    },
    "aws": {
        "key": "AWS_ACCESS_KEY_ID",
        "secret": "AWS_ACCESS_KEY_SECRET",
        "region": "AWS_DEFAULT_REGION",
        "mask_len": 4,
        "display_name": "Access Key ID",
    },
    "tencent": {
        "key": "TENCENT_SECRET_ID",
        "secret": "TENCENT_ACCESS_KEY_SECRET",
        "region": "TENCENT_REGION",
        "mask_len": 4,
        "display_name": "SecretId",
    },
    "huawei": {
        "key": "HUAWEI_ACCESS_KEY_ID",
        "secret": "HUAWEI_ACCESS_KEY_SECRET",
        "project_id": "HUAWEI_PROJECT_ID",
        "mask_len": 4,
        "display_name": "Access Key ID",
    },
    "google": {
        "credentials_file": "GOOGLE_APPLICATION_CREDENTIALS",
        "project_id": "GOOGLE_PROJECT_ID",
        "mask_len": 0,
        "display_name": "凭据文件",
    },
}

# 👇 新增：默认 provider 的元信息
DEFAULT_PROVIDER_META = {
    "key": "DEFAULT_PROVIDER",
    "display_name": "默认云厂商",
}

# 默认云厂商环境变量名
DEFAULT_PROVIDER_ENV_KEY = "CLOUDKIT_DEFAULT_PROVIDER"